@@ -464,7 +464,11 @@ def activity_signin(request):  | 
            ||
| 464 | 464 | 
                 | 
            
| 465 | 465 | 
                def get_group_share_info_integral(activity_id, share_user_id, open_gid, group_share_integral, group_share_max_integral):  | 
            
| 466 | 466 | 
                # 校验该分享人是否已领取该群积分  | 
            
| 467 | 
                - has_integral = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, share_user_id=share_user_id, open_gid=open_gid, is_integral=True).exists()  | 
            |
| 467 | 
                + if open_gid:  | 
            |
| 468 | 
                + has_integral = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, share_user_id=share_user_id, open_gid=open_gid, is_integral=True).exists()  | 
            |
| 469 | 
                + else:  | 
            |
| 470 | 
                + has_integral = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, share_user_id=share_user_id, is_integral=True).exists()  | 
            |
| 471 | 
                +  | 
            |
| 468 | 472 | 
                if has_integral:  | 
            
| 469 | 473 | 
                return False, 0  | 
            
| 470 | 474 | 
                # 校验该分享人是否已领取该活动积分上限  | 
            
                @@ -485,20 +489,22 @@ def activity_group_share(request):  | 
            ||
| 485 | 489 | 
                     iv = request.POST.get('iv', '')
               | 
            
| 486 | 490 | 
                     encryptedData = request.POST.get('encryptedData', '')
               | 
            
| 487 | 491 | 
                 | 
            
| 488 | 
                -    wxcfg = WECHAT.get('MINIAPP', {})
               | 
            |
| 492 | 
                + open_gid = None  | 
            |
| 493 | 
                + if iv and encryptedData:  | 
            |
| 494 | 
                +        wxcfg = WECHAT.get('MINIAPP', {})
               | 
            |
| 489 | 495 | 
                 | 
            
| 490 | 
                -    appid = wxcfg.get('appID')
               | 
            |
| 491 | 
                -    secret = wxcfg.get('appsecret')
               | 
            |
| 496 | 
                +        appid = wxcfg.get('appID')
               | 
            |
| 497 | 
                +        secret = wxcfg.get('appsecret')
               | 
            |
| 492 | 498 | 
                 | 
            
| 493 | 
                -    # {
               | 
            |
| 494 | 
                - # "openGId": "OPENGID"  | 
            |
| 495 | 
                - # }  | 
            |
| 496 | 
                - shareinfo = get_shareinfo(appid=appid, secret=secret, unid=click_user_id, session_key=None, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))  | 
            |
| 499 | 
                +        # {
               | 
            |
| 500 | 
                + # "openGId": "OPENGID"  | 
            |
| 501 | 
                + # }  | 
            |
| 502 | 
                + shareinfo = get_shareinfo(appid=appid, secret=secret, unid=click_user_id, session_key=None, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))  | 
            |
| 497 | 503 | 
                 | 
            
| 498 | 
                -    open_gid = shareinfo.get('openGId')
               | 
            |
| 504 | 
                +        open_gid = shareinfo.get('openGId')
               | 
            |
| 499 | 505 | 
                 | 
            
| 500 | 
                - if not open_gid:  | 
            |
| 501 | 
                - return response()  | 
            |
| 506 | 
                + if not open_gid:  | 
            |
| 507 | 
                + return response()  | 
            |
| 502 | 508 | 
                 | 
            
| 503 | 509 | 
                try:  | 
            
| 504 | 510 | 
                user = UserInfo.objects.select_for_update().get(user_id=share_user_id, status=True)  | 
            
                @@ -0,0 +1,18 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +# Generated by Django 3.2.16 on 2022-11-11 04:42  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.db import migrations  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class Migration(migrations.Migration):  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                + dependencies = [  | 
            |
| 10 | 
                +        ('member', '0052_auto_20221107_2238'),
               | 
            |
| 11 | 
                + ]  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                + operations = [  | 
            |
| 14 | 
                + migrations.AlterUniqueTogether(  | 
            |
| 15 | 
                + name='memberactivitygroupshareinfo',  | 
            |
| 16 | 
                +            unique_together={('activity_id', 'share_user_id', 'click_user_id', 'brand_id')},
               | 
            |
| 17 | 
                + ),  | 
            |
| 18 | 
                + ]  | 
            
                @@ -711,7 +711,7 @@ class MemberActivityGroupShareInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 711 | 711 | 
                verbose_name_plural = _(u'会员活动群组分享信息')  | 
            
| 712 | 712 | 
                 | 
            
| 713 | 713 | 
                unique_together = (  | 
            
| 714 | 
                -            ('activity_id', 'share_user_id', 'click_user_id', 'open_gid', 'brand_id'),
               | 
            |
| 714 | 
                +            ('activity_id', 'share_user_id', 'click_user_id', 'brand_id'),
               | 
            |
| 715 | 715 | 
                )  | 
            
| 716 | 716 | 
                 | 
            
| 717 | 717 | 
                def __unicode__(self):  |